package com.itheima.stock.service;

import com.itheima.stock.common.domain.*;
import com.itheima.stock.pojo.StockBusiness;
import com.itheima.stock.vo.resp.R;
import org.springframework.stereotype.Repository;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

@Repository
//定义草啊总股票的服务接口
public interface StockService {

    R<List<StockBusiness>> getAllStockBusiness();

    //查询所有股票主营业务信息
    R<List<StockBusiness>> findAllBusiness();

    //获取国内大盘数据的实时数据
    R<List<InnerMarketDomain>> innerIndexAll();

    //国内板块指数
    R<List<SectorBlockDomain>> sectorAllLimit();

    //沪深两市个股涨幅的行情
    R<List<StockIncreaseDomain>> stockIncreaseLimit();

    R<PageResult<StockIncreaseDomain>> stockAllLimit(Integer page, Integer pageSize);

    R<Map> getStockUpDownCount();

    void stockExport(HttpServletResponse response, Integer page, Integer pageSize);

    /**
     * 成交量对比
     * 沪深两市个股涨跌行情数据查询，查询T日分时成交量与T-1日分时成交量对比数据
     * 简言之，统计两市成交量在每分钟的之和的统计；
     *
     * @return
     */
    R<Map> getStockTravolCompare();

    /**
     * 功能描述：统计在当前时间下（精确到分钟），股票在各个涨跌区间的数量
     * 如果当前不在股票有效时间内，则以最近的一个有效股票交易时间作为查询时间点；
     *
     * @return 响应数据格式：
     * {
     * "code": 1,
     * "data": {
     * "time": "2021-12-31 14:58:00",
     * "infos": [
     * {
     * "count": 17,
     * "title": "-3~0%"
     * },
     * //...
     * ]
     * }
     */
    R<Map> stockUpDownScopeCount();

    R<List<ScreenTimeSharinDomain>> stockScreenTimeSharing(String code);

    R<List<ScreenDklineDomain>> stockCreenDkLine(String code);
}
